using System;
using System.Collections;
using System.Collections.Generic;

namespace com.pro2e.console.service.auth.vo
{
    [Serializable]
    public class MenuFunc
    {
        private int id;

        private MenuFunc parentMenu;
       
        private string menuFuncName;

        private IList<MenuFunc> subFuncs;

        private int listOrder;

        private string mainPath;

        private string note;

        private IList<FunctionPath> funcionPaths;

        public MenuFunc(string menuFuncName, MenuFunc parentMenu) 
        {
            this.menuFuncName = menuFuncName;
            this.parentMenu = parentMenu;
        }

        public MenuFunc(string menuFuncName, MenuFunc parentMenu,string note)
        {
            this.menuFuncName = menuFuncName;
            this.parentMenu = parentMenu;
            this.note = note;
        }

        public MenuFunc()
        {
           
        }

        public virtual int Id
        {
            get { return id; }
            set { id = value; }
        }        

        public virtual MenuFunc ParentMenu
        {
            get { return parentMenu; }
            set { parentMenu = value; }
        }

        public virtual string MenuFuncName
        {
            get { return menuFuncName; }
            set { menuFuncName = value; }
        }

        public virtual IList<MenuFunc> SubFuncs
        {
            get { return subFuncs; }
            set { subFuncs = value; }
        }

        public virtual int ListOrder
        {
            get { return listOrder; }
            set { listOrder = value; }
        }

        public virtual String MainPath
        {
            get { return mainPath; }
            set { mainPath = value; }
        }

        public virtual IList<FunctionPath> FuncionPaths
        {
            get { return funcionPaths; }
            set { funcionPaths = value; }
        }

        public virtual String Note
        {
            get { return note; }
            set { note = value; }
        }
    }
}